###################################################################
 AlphaVOODOO - integrates Alpha with VOODOO

                                   created: 6/30/97 {11:13:46 PM} 
                               last update: 5/6/98 {8:49:00 PM} 
							       version: 1.0.0b7
 Author: Jonathan Guyer
 E-mail: <jguyer@his.com> 
    WWW: <http://www.his.com/~jguyer/>
 
###################################################################

Copyright (C) 1998  Jonathan Guyer

This package is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License.
 
###################################################################

IMPORTANT: This version of AlphaVOODOO only functions with Alpha v7, 
including those versions available from:

	<http://www.santafe.edu/~vince/pub/Alpha/>
 
###################################################################

This package integrates the Alpha text editor

	<http://www.cs.umd.edu/~keleher/alpha.html>

with the VOODOO (Versions Of Outdated Documents Organized 
Orthogonally) version management package:

	<http://www.unisoft.co.at/products/voodoo.html>
	
	
	
	  	 Usage

	  	  Projects
		  
Select the VOODOO:Connect:Choose menu item to assign a VOODOO 
project.  Once selected, a settings dialog will be provided for the 
project before connecting to it.  The project name, for Alpha's 
purposes, is a near approximation of its actual name, with curly 
brackets removed and a number appended in the event of name 
conflicts.  The name can be changed by selecting 
VOODOO:Connect:Rename.  Each new project is added to the 
VOODOO:Connect submenu for easy reconnection.

Currently, selection of a new project automatically disconnects 
the old one.  This is done, in part, because that's what the 
BBEdit extension does.  If you would like more than one project 
to remain connected for some reason, let me know.  The active 
project is also disconnected when you quit Alpha.  Let me know 
if this is a problem.
		  
NOTE: Because of limitations in Alpha's AppleEvent interface, 
VOODOO will not be brought forward if there is anything wrong 
with your user name or password.  You'll get an alert (e.g., 
blinking icon in the menu bar) and you can manually shift to 
VOODOO, but it won't happen automatically.

There currently is no mechanism for creating VOODOO projects 
through AppleEvents, so you will need to create your project in 
VOODOO, but you can then use Alpha to define what files should be 
in the project (such as adding all open windows or all files of 
an Alpha fileset).  There is not currently a straight-forward way 
to determine what files are already in a project, such that an 
Alpha fileset could be created from an existing VOODOO project.  
I know of a cumbersome way to do it, so if it's important to you, 
let me know and I'll see what I can do.

	  	  Settings

	  	    Variants
		
You may restrict the VOODOO variants which are visible by either 
typing the variant names in explicitly or by clicking the 
Variants button in the VOODOO:Settings dialog.  As long as 
the project is logged on, a list of available variants will be 
provided, allowing you to select or <shift>-select the variant(s) 
you are interested in.  If the project is not logged on, the most 
recently available list will be provided, along with a warning 
that it is not current.

You may, if you get your jollies that way, type in the variant 
names.  Enclose each variant name in squirrely brackets, e.g.,

{Variant 1} {Variant 2} {Variant 3}
		  
	  	  Customizing actions

Hold down the <option> key in the VOODOO menu to use VOODOO's 
dialog to make adjustments to Fetch, Store, and Add requests 
before completing them.

	  	  File comparison
		  
In order to compare files with archived files, you need VOODOO 
version 1.8.1b6 or greater; AlphaVOODOO knows this and will not 
request comparisons from earlier versions.

	  	  Key bindings

To the curious: <command><shift><control> was selected as having 
no (known) conflicts with other modes, thereby allowing all 
VOODOO commands to have the same bindings.

	  	 Acknowlegements
		
My thanks to Christoph Reichenberger for writing VOODOO in the 
first place, and for providing extensive help on this package in 
the second.

I'm indebted to Pete Keleher for having provided an editor worth 
connecting to and to Vince Darley for making it much easier to 
write packages.

I've borrowed liberally and shamelessly from Vince Darley's 
Vince's Additions.  Thanks Vince!

	  	 To do
		
	 AlphaVOODOO doesn't activate automatically after installation. 
	  Manual activation works properly.
	 Converter for old-style project data is needed.

	  	 Recent Changes

###################################################################
1.0.0b7     May 6, 1998
###################################################################

	 Code reorganization.
	 Vince's updated menu tools used.
	 Updated aebuild/aeparse/aecoerce suite used for more automated 
	  handling of AppleEvents.
	 cmd argument removed from voodoo::eligibleFiles.  upvar used 
	  now.
	 voodoo::try more flexible and makes use of updated try command.
	 voodoo::*userName moved to aebuild.tcl
	 Overly clever upvar mechanism for changing projects eliminated.  
	  Master projects are now ordinally numbered, 
	  voodoo::projects::[0-9]+, and are swapped in and out of 
	  voodooProjects.
	 Incremental numbers on projects changed from "<nn>" to "[nn]" 
	  for better menu compatibility.
	 Minimum version of VOODOO for compares is 1.8.1.  Earlier betas 
	  worked too, but they have expired now.

###################################################################
1.0.0b6     March 1, 1998
###################################################################

	 AlphaVOODOO is a better citizen now, providing an uninstall 
	  script and cleaning up messes left by earlier installers.
	 Error catching and handling mechanism now much more general.
	 In the event that none of the selected files are eligible for 
	  VOODOO, e.g., shells, Diff reports, etc, an alert is now 
	  posted. Before, nothing happened at all.
	 Instead of setting the default project owner's name to 
	  InternetConfig's user name, which virtually never gave the 
	  correct result, AlphaVOODOO now obtains the Mac's owner 
	  name under MacOS 8.x and makes a pretty good guess under MacOS 
	  7.x (by using the owner of the Preference folder; almost 
	  certain to be the Mac's owner).
	 Old "appleEvents.tcl" calls replaced with new "aebuild.tcl" calls.
	 Various minor bug fixes.
	 VOODOO's new event CompComp is _not_ supported, due to lack 
	  of capability in Alpha's AppleEvent interface. 
	  'compareExternalFiles' renamed to 'voodoo::compareFiles'.
	 Better integration with diffMode.tcl (requiring changes to 
	  both Diff mode and AlphaVOODOO). 
	 NOTE: Due to a crashing bug in Alpha, if an error is 
	  returned from a call to VOODOO while Alpha is in the 
	  background (switched either manually or from using the 
	  With Dialog menu option), an alert dialog will not be 
	  displayed.  As much of the message as possible will be 
	  displayed in the status bar, instead.
	  
		 
###################################################################
1.0.0b5     December 22, 1997
###################################################################

	 Further modernizations for Vince Darley's Alpha 7.  NOTE: 
	  As of this version, AlphaVOODOO is incompatible with Alpha 
	  6.5.x. Please contact me, supplying a note from your 
	  mother, if you are unable/unwilling to migrate to Alpha 7.
	 Support for the new event compcomp compare AE from 
	  VOODOO. As of VOODOO 1.8.1b6, the old DoScript interface 
	  is still used, unless Alpha's creator is changed from 
	  'ALFA'.  Either way, the new "diffMode.tcl" is exploited.   
	 Interim patch file "coreFixes+.tcl" that fixes the broken 
	  Alpha proc specToPathName.  If you have the December 20, 
	  1997 release of Alpha 7 or later (how 'bout some real 
	  version numbers, Vince?), this file is not needed, as both 
	  it and "aevt.tcl" are in the System code.
	 The code in "diff+.tcl" and "appleEvents+.tcl" has been 
	  incorporated in Alpha's core code.  These files may be (and 
	  should be) safely removed from Alpha's PREFS folder.

###################################################################
1.0.0b4     September 5, 1997
###################################################################

	 Installer now compliant with Vince Darley's new Tcl structure.  
	  Still works on old systems, too.
	 Project naming and selection now more flexible.
	 All files in fileset now stored and fetched with VOODOO, rather 
	  than just TEXT files.
	 Nice display of Add and Locking Status operations.  When 
	  VOODOO's AppleEvent model supports it, Store and Fetch will 
	  generate reports too.

###################################################################
1.0.0b3     August 10, 1997
###################################################################

	 Multiple VOODOO projects now supported, with easy menu 
	  selection.
	 Redesigned settings dialog.
	 Menu redesign; renamed some items and properly disable items 
	  when appropriate.
	 Changed key bindings to (the somewhat more cumbersome) 
	  <command><shift><control>.  The new bindings don't conflict 
	  with any other modes, so far as I know.
	 Improved display of locking-status and add results
	 More robust AppleEvent parsing and handling.
	 More comprehensive and robust error catching.
	 Log On and Log Off renamed to Connect and 
	  Disconnect at Christoph's suggestion.

###################################################################
1.0.0b2     July 15, 1997
###################################################################

     Many error conditions eliminated or handled more gracefully.
     No longer logs on automatically to select filters.
     Project Settings dialog sizes itself to the main screen.
     Filters applied prior to each pertinant action, rather than
      only when changed (the old way meant that the variant filters
      assiged in Alpha might be ignored).
	 Much code commenting.
	 Improved log-in status check.
	 Most dialogs eliminated. User requested dialogs are now handled
	  entirely by VOODOO.
	 VOODOO's reply from 'compare' events is now handled properly.
	 Only currently open windows are refreshed after a fileset fetch.
	  Remaining files in fileset are fetched, but not opened.
	 Big VOODOO menu icon eliminated.
	
###################################################################
1.0.0b1     July 1, 1997
###################################################################

	Original
	
